In the present scenario, a large number of companies still maintain software applications for mainframe systems. Such applications are also referred to as “Legacy applications”. The examples of these applications include Banking operations, Computer-based reservation systems, Air traffic control and power grids etc. Generally, the operations involved in the execution of such applications are complex in nature and may require performing various critical functions thereby consuming more time and resources.
As a consequence of complex nature and critical functions handled by such applications, it is very difficult to replace them. Accordingly, companies maintaining these applications need to update them frequently. Generally, development and maintenance of these mainframe or legacy applications consumes more time. Thus, while updating these applications, it may be lead to cumbersome task and may require too much time. This is due to the fact that these applications were developed long time back and generally they lack proper documentation supporting the existence of the software code.
Generally, such updates in the mainframe/legacy applications are related to the size attribute of a variable that needs to be expanded according to the current business requirements. The expansion of attribute size of variable is referred to as “Field Expansion”. The common reasons for “Field Expansion” are as follows:
Business Expansion:
As a result of business expansion, few of the most generally used variables or fields in the software code executing the business module requirements need to be changed or updated. In the manufacturing industry, such a field could be the Warehouse code, Depot code or Product code. These fields play a vital role in making decisions related to future strategies and planning of the business. For example, considering the manufacturing industry involved in a specific product manufacture, if the Product code field has a length of 2 digits, the system would not support beyond 99 products types.
Business Rules Change:
The software system is considered to be the backbone of many industries and has been implemented for automating various tasks facilitating business procedures. Thus, an impact on the business scenario would lead to changes to the software system driving them. This requires updating of such software with specific to fields or variables that may be impacted due to the impact in the business scenario. Such an update may comprise expansion of the impacted fields or variables termed as Field Expansion. Examples of business rules change include compliance to Government regulations, addition of multiple language support, and changes in the structure of product or other codes.
Oversight:
This may result as a consequence of oversight during the planning phase of software development. Example: Account number field size was set without keeping in mind the fact that it may grow in future to some extent.
Due to the reasons mentioned above, few of the existing entities get impacted in the software and as a consequence of this; there is a need to perform Field Analysis on such impacted entities. Further, if required, there is a need to expand the impacted entities by employing Field Expansion. The Field Analysis task is a complex as it is much more than simple analysis of fields. In the software program, the variables are interlinked with each other, various functions and other commands. Thus, the changes required in these variables can lead to changes in the entire business logic, data storage and the data retrieval options. The data related changes include, but not limited to fields, data structures, arrays and tables.
In the background art, the field analysis and thereby field expansion is a manual process. In this process, one or more software programmers manually conduct an analysis of the software to identify the impacted variables. This is referred to as impact analysis. Further, the field size of each of the identified impacted variables is modified manually based on the requirements.
Attempts have been made in the past to automate the process of field analysis and field expansion. For example, some of the existing systems and methods work on the principle of search and replace. However, in such automation cases, the rates of false positives are high. To elaborate this further, while conducting field analysis, these systems may detect some of the variables that may have not being impacted. This therefore, leads to increase in the false positives. Moreover, the existing systems and methods are limited to perform field expansion analysis on particular set of applications mainly applications involving Y2K related problems and fail to work for updating business applications that are required to be updated due to dynamic changing scenarios such as business expansion, business rules change and oversight etc as discussed in the art.
As will be appreciated, there is a long felt need for a system and method that enables an automatic comprehensive impact analysis to perform a field expansion thereby facilitating reduction in the false positives in various legacy or mainframe applications those subjected to update procedures.